package com.hspedu.map_;

import java.util.HashMap;

/**
 * @Author Stringzhua
 * @Date 2024/3/13 14:46
 * description:
 */
@SuppressWarnings("all")
public class HashMapSource2 {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap();
        for (int i = 1; i <= 12; i++) {
            hashMap.put(new A(i), "hello");
        }

        hashMap.put("aaa", "bbb");

        System.out.println("hashMap = " + hashMap);//12个k-v


        //设计代码验证,table的扩容
        //0-->16(12)-->32(24)-->64(64*0.75=48)-->128(96)-->256(192)
        //增强自己阅读源码的能力,看别人的代码
    }
}

class A {
    private int num;

    public A(int num) {
        this.num = num;
    }

    //所有的A对象的hashCode都是100--》使它的value都落在一个索引位置上
//    @Override
    public int hashCode() {
        return 100;
    }

    @Override
    public String toString() {
        return "\nA{" + "num=" + num + '}';
    }
}